home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / tools / xb / sample / _ras1fu.bas < prev    next >
BASIC Source File  |  1997-06-06  |  2KB  |  68 lines

  1.  
  2. /* ラスタスクロールのサンプル
  3. /* BG0 をウネウネと縦横方向にスクロールさせます。
  4. /*            31kHz 対応 TNB
  5.  
  6. dim d(127,550),e(359)
  7. dim int ch(7)={&h102,0,&h103,0,&h104,&h105,&h106,0}    /* 猫の走るパターン
  8. dim int df(15)={5,6,5,2, 5,6,6,2, 5,7,7,2, 6,7,8,3}    /* 猫の移動量
  9. dim int x(63),y(63),n(63),s(63)
  10. int i,j,N=63
  11.  
  12.  /* 猫の初期位置
  13. for i=0 to N
  14. x(i)=int(rnd()*256)+16
  15. y(i)=int(rnd()*240)+16
  16. n(i)=rand() and 3
  17. s(i)=(rand() and 3)*4
  18. next
  19.  
  20.  /*
  21. screen 0,3,1,1
  22. sp_init():sp_clr(0)
  23. spfile_def("cat2.sp",1)
  24. palfile_def("cat2.pal",1)
  25. sp_disp(1):sp_on(0,127)
  26. bg_set(0,0,1)
  27.  
  28.  /* 猫を敷き詰める
  29. for i=0 to 30:for j=0 to 20
  30. bg_put(0,(j and 1)+i*2  ,j*2  ,&h308)
  31. bg_put(0,(j and 1)+i*2  ,j*2+1,&h309)
  32. bg_put(0,(j and 1)+i*2+1,j*2  ,&h30a)
  33. bg_put(0,(j and 1)+i*2+1,j*2+1,&h30b)
  34. next:next
  35.  
  36.  /* ラスタスクロールデータの作成
  37. for j=0 to 255
  38.     e(j)=int(16*cos(pi(j)/128)+.5)+18  + ((int(60*sin(pi(j)/128)+.5)+100) shl 16)
  39. next    /*   ^^^^^ y 軸方向のデータ ^^^^^     ^^^^^^^ x 軸方向のデータ ^^^^^^
  40. for i=0 to 127:for j=0 to 550
  41.     d(i,j)=e((i*2+j/2)and 255)
  42. next:next /* :beep
  43.  
  44.  /* ラスタスクロールデータのセット
  45. ras_scroll_set(2,d,127,550,8)
  46.  /* ras_scroll_set(2,d,127,250,8) と同じ
  47.  
  48. _system("ZP -G _FUFU.zms> nul")
  49.  
  50.  /* ラスタスクロール開始
  51. ras_scroll_stat(1)
  52.  
  53.  /* 猫走る
  54. while 1
  55. for i=0 to N
  56. x(i)=x(i)-df(n(i)+s(i))
  57. sp_set(i*2,x(i),y(i),ch(n(i)*2))
  58. sp_set(i*2+1,x(i)+16,y(i),ch(n(i)*2+1))
  59. n(i)=(n(i)+1)and 3
  60. if x(i)<8 then x(i)=256+16:y(i)=int(rnd()*224)+16
  61.  /* 高クロック・030 ユーザは適当にウエイトを入れましょう
  62.  /* for j=0 to 500:next
  63. next
  64. endwhile
  65.  
  66.  /* 終了は CTRL+C。ちゃんとラスタスクロールも止まります。
  67.  
  68.